package com.bmf.admin.utils;

import cn.hutool.core.text.CharSequenceUtil;

import java.util.Objects;

/**
 * 组件工具
 *
 * @author 
 * @date 2024/02/27
 */
public class ComponentUtil {
    /**
     * 转换参数级别
     *
     * @param useType 使用类型
     * @param type    类型
     * @return {@code String}
     */
    public static String convertParamLevel(String useType, String type) {
        // 检查 useType 是否为空
        if (CharSequenceUtil.isBlank(useType)) {
            // 如果为空，返回字符串 "false"
            return "false";
        }
        // 将 useType 字符串按逗号分隔为数组
        String[] dLevel = useType.split(",");
        String r = "";
        // 根据 type 的值进行不同的处理
        switch (type) {
            // 如果 type 为 "isPoint"
            case "isPoint":
                // 比较 dLevel 数组的第一个元素是否等于 "1"，并返回结果的字符串形式
                r= (String.valueOf(Objects.equals("1", dLevel[0])));
                break;
            // 如果 type 为 "isQuote"
            case "isQuote":
                // 比较 dLevel 数组的第二个元素是否等于 "1"，并返回结果的字符串形式
                r= (String.valueOf(Objects.equals("1", dLevel[1])));
                break;
            // 如果 type 为 "isConst"
            case "isConst":
                // 比较 dLevel 数组的第三个元素是否等于 "1"，并返回结果的字符串形式
                r= (String.valueOf(Objects.equals("1", dLevel[2])));
                break;
            default:
                break;
        }
        // 如果 type 不匹配以上任何值，返回空字符串
        return r;
    }
    /**
     * 获取可见类型
     *
     * @param visibility 能见度
     * @return {@code String}
     */
    public static String getVisibleType(Integer visibility) {
        if (visibility == 1) {
            return "public";
        } else if (visibility == 2) {
            return "private";
        } else {
            return "protected";
        }
    }
}
